#include"Common.h"

class Task
{
    typedef std::function<int(int, int)> Func;
public:
    Task(){}
    Task(int x, int y, Func func)
        :_x(x)
        ,_y(y)
        ,_func(func)
    {}
    int operator()()
    {
        return _func(_x, _y);
    }
    int x()
    {
        return _x;
    }
    int y()
    {
        return _y;
    }
private:
    int _x;
    int _y;
    Func _func;
};